using System.ComponentModel.DataAnnotations;

namespace Hospital.Domain
{
    /// <summary>
    /// 服务审核工作流
    /// </summary>
    public class ServiceAuditWorkflow
    {
        /// <summary>
        /// 主键Id
        /// </summary>
        [Key]
        public int Id { get; set; }

        /// <summary>
        /// 关联的医生Id
        /// </summary>
        public int DoctorId { get; set; }

        /// <summary>
        /// 工作流状态：进行中、已完成、已拒绝
        /// </summary>
        public string Status { get; set; } = "进行中";

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreatedTime { get; set; } = DateTime.Now;

        /// <summary>
        /// 完成时间
        /// </summary>
        public DateTime? CompletedTime { get; set; }

        /// <summary>
        /// 审核人
        /// </summary>
        public string? Auditor { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string? Remarks { get; set; }

        /// <summary>
        /// 删除标记
        /// </summary>
        public bool IsDeleted { get; set; } = false;

        /// <summary>
        /// 导航属性：关联的医生
        /// </summary>
        public virtual Doctor? Doctor { get; set; }

        /// <summary>
        /// 导航属性：工作流步骤
        /// </summary>
        public virtual ICollection<ServiceAuditStep> Steps { get; set; } = new List<ServiceAuditStep>();
    }
} 